﻿using System;

namespace IFramework
{
    public interface IObserveManager
    {
        void AddObserver<T>(IObserver observer);
        void RemoveObserver<T>(IObserver observer);
        void Notify<T>(EventArgs args, int code, params object[] message);
        void DelayNotify<T>(EventArgs args, int code, params object[] message);
        void AddObserver<T>(T t, IObserver observer);
        void RemoveObserver<T>(T t, IObserver observer);
        void DelayNotify<T>(EventArgs args, T t, int code, params object[] message);
        void Notify<T>(EventArgs args, T t, int code, params object[] message);
    }
}